package com.haixiaoke.saas.house.domain;

import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 楼盘信息对象 biz_estate
 *
 * @author xiaolong
 * @date 2023-10-16
 */
@Data
public class Estate extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 代表存在
     */
    public static final String DEL_FLAG_YES = "0"; //代表存在

    /**
     * 代表删除
     */
    public static final String DEL_FLAG_NO = "2"; //代表删除

    /**
     * 楼盘id
     */
    private String estateId;

    /**
     * 楼盘分布类型：1.集中式；2.分散式
     */
    @Excel(name = "楼盘分布类型", dictType = "dict_estate_type")
    @NotNull(message = "请选择分布类型")
    private String estateType;

    /**
     * 楼盘名称
     */
    @Excel(name = "楼盘名称")
    @NotNull(message = "请填写楼盘名称")
    private String estateName;

    /**
     * 省
     */
    @Excel(name = "省")
    @NotNull(message = "请填写所属省份")
    private String provinceId;

    /**
     * 省份名称
     */
    @Excel(name = "省份名称")
    private String provinceName;

    /**
     * 市
     */
    @Excel(name = "市")
    @NotNull(message = "请填写所属市")
    private String cityId;

    /**
     * 市名称
     */
    @Excel(name = "市名称")
    private String cityName;

    /**
     * 区
     */
    @Excel(name = "区")
    @NotNull(message = "请填写所属区域")
    private String districtId;

    /**
     * 区名称
     */
    @Excel(name = "区名称")
    private String districtName;

    /**
     * 所属街道
     */
    @Excel(name = "所属街道")
    @NotNull(message = "请填写所属街道")
    private String streetId;

    /**
     * 街道名称
     */
    @Excel(name = "街道名称")
    private String streetName;

    /**
     * 所属社区
     */
    @Excel(name = "所属社区")
    @NotNull(message = "请填写所属社区")
    private String communityId;

    /**
     * 所属社区名称
     */
    @Excel(name = "所属社区名称")
    private String communityName;

    /**
     * 小区地址
     */
    @Excel(name = "小区地址")
    @NotNull(message = "请填写小区地址")
    private String premisesAddress;

    /**
     * 物业id
     */
    @Excel(name = "物业id")
    private Long propertyId;

    /**
     * 物业名称
     */
    @Excel(name = "物业名称")
    private String propertyName;

    /**
     * 经度
     */
    @Excel(name = "经度")
    @NotNull(message = "请选择所属经经度")
    private Double longitude;

    /**
     * 纬度
     */
    @Excel(name = "纬度")
    @NotNull(message = "请选择所属经纬度")
    private Double latitude;

    /**
     * 逻辑删除标志(0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 楼栋实体类
     **/
    private List<Building> buildingList;

    /**
     * 楼盘数量
     */
    private Integer estateNumber;

    /**
     * 楼栋数量
     */
    private Integer buildingNumber;

    /**
     * 单元数量
     */
    private Integer unitNumber;

    /**
         * 房间数量
     */
    private Integer houseNumber;

    /**
     * 楼盘id集合
     */
    private String[] estateIds;
}
